/*
变声申明(var) 不会定义值 var申明的变量其值为undefined(如果你在第一行打印这个变量的话)
函数申明(function) 除了申明变量 还会定义值(即在第一行这个函数就是可用的)
*/
a() // ←var a=123 不会覆盖 function a的定义 var在编译阶段不会覆盖值 参看03函数执行与执行上下文

function a(){
    console.log(123)
}

var a = 123;

console.log(typeof a); // number
